Common Tasks পরিচিতি

Java Technologies - অ্যাপাচি অ্যান্ট (Apache ANT)
269
269

Apache ANT একটি শক্তিশালী বিল্ড টুল যা বিশেষ করে জাভা প্রজেক্টের জন্য ব্যবহৃত হয়, তবে এটি অন্যান্য ভাষার জন্যও ব্যবহৃত হতে পারে। ANT টুলটি সাধারণত বিল্ড এবং ডিপ্লয়মেন্টের জন্য ব্যবহৃত হয় এবং তার মধ্যে বিভিন্ন common tasks বা কাজের জন্য প্রি-ডিফাইনড টাস্ক (task) থাকে, যা বিভিন্ন ধরনের কাজ সম্পাদন করতে ব্যবহৃত হয়।

এখানে Apache ANT এর কিছু common tasks এবং তাদের ব্যবহার ব্যাখ্যা করা হয়েছে।


1. javac Task: জাভা কোড কম্পাইল করা

javac টাস্কটি সোর্স কোড ফাইলগুলোকে bytecode (যেমন .class ফাইল) এ কম্পাইল করতে ব্যবহৃত হয়।

উদাহরণ:

<target name="compile">
    <javac srcdir="src" destdir="build/classes" />
</target>

এখানে:

  • srcdir: সোর্স কোড ফাইলের অবস্থান (যেমন src ডিরেক্টরি)।
  • destdir: কম্পাইল করা ফাইল কোথায় রাখা হবে (যেমন build/classes)।

2. jar Task: JAR ফাইল তৈরি করা

jar টাস্কটি .jar (Java ARchive) ফাইল তৈরি করতে ব্যবহৃত হয়। এটি প্যাকেজ করা ক্লাস ফাইল এবং অন্যান্য রিসোর্স ফাইলগুলো একটি আর্কাইভ ফাইলে যুক্ত করতে ব্যবহৃত হয়।

উদাহরণ:

<target name="package" depends="compile">
    <jar destfile="build/myapp.jar" basedir="build/classes" />
</target>

এখানে:

  • destfile: আউটপুট JAR ফাইলের নাম (যেমন build/myapp.jar)।
  • basedir: যেখানে কম্পাইল করা ক্লাস ফাইল রয়েছে (যেমন build/classes)।

3. copy Task: ফাইল কপি করা

copy টাস্কটি একটি ফাইল বা ডিরেক্টরি কপি করতে ব্যবহৃত হয়। এটি খুবই সাধারণ টাস্ক যা ফাইল বা ডিরেক্টরি এক জায়গা থেকে অন্য জায়গায় স্থানান্তর করতে সাহায্য করে।

উদাহরণ:

<target name="copy-files">
    <copy file="src/config.xml" todir="build/config" />
</target>

এখানে:

  • file: কপি করা ফাইলের উৎস।
  • todir: ফাইলটি যে ডিরেক্টরিতে কপি হবে।

4. delete Task: ফাইল/ডিরেক্টরি মুছে ফেলা

delete টাস্কটি ফাইল বা ডিরেক্টরি মুছে ফেলার জন্য ব্যবহৃত হয়।

উদাহরণ:

<target name="clean">
    <delete dir="build" />
</target>

এখানে:

  • dir: মুছে ফেলার জন্য ডিরেক্টরির নাম।

5. mkdir Task: ডিরেক্টরি তৈরি করা

mkdir টাস্কটি একটি নতুন ডিরেক্টরি তৈরি করতে ব্যবহৃত হয়।

উদাহরণ:

<target name="create-dir">
    <mkdir dir="build/classes" />
</target>

এখানে:

  • dir: তৈরি করার জন্য ডিরেক্টরির পথ।

6. echo Task: মেসেজ প্রদর্শন করা

echo টাস্কটি কনসোলে একটি মেসেজ প্রদর্শন করতে ব্যবহৃত হয়।

উদাহরণ:

<target name="message">
    <echo message="Hello, ANT build!" />
</target>

এখানে:

  • message: যা প্রিন্ট করা হবে (যেমন Hello, ANT build!)।

7. move Task: ফাইল স্থানান্তর করা

move টাস্কটি ফাইল বা ডিরেক্টরি এক জায়গা থেকে অন্য জায়গায় স্থানান্তর করতে ব্যবহৃত হয়।

উদাহরণ:

<target name="move-files">
    <move file="src/temp.txt" tofile="build/temp.txt" />
</target>

এখানে:

  • file: স্থানান্তর করা ফাইল।
  • tofile: নতুন ফাইলের অবস্থান।

8. replace Task: ফাইলের মধ্যে টেক্সট প্রতিস্থাপন করা

replace টাস্কটি একটি ফাইলে নির্দিষ্ট টেক্সট প্রতিস্থাপন করতে ব্যবহৃত হয়।

উদাহরণ:

<target name="replace-text">
    <replace file="src/config.properties" token="DEBUG" value="RELEASE" />
</target>

এখানে:

  • file: পরিবর্তন করার ফাইল।
  • token: প্রতিস্থাপন করার টেক্সট (যেমন DEBUG)।
  • value: নতুন টেক্সট (যেমন RELEASE)।

9. zip Task: ZIP ফাইল তৈরি করা

zip টাস্কটি ফাইল বা ডিরেক্টরি একটি .zip ফাইলে কম্প্রেস করতে ব্যবহৃত হয়।

উদাহরণ:

<target name="zip">
    <zip destfile="build/archive.zip" basedir="build/classes" />
</target>

এখানে:

  • destfile: আউটপুট ZIP ফাইলের নাম।
  • basedir: যার উপর ভিত্তি করে ZIP ফাইল তৈরি হবে।

10. http Task: HTTP অনুরোধ পাঠানো

http টাস্কটি HTTP GET, POST অনুরোধ পাঠানোর জন্য ব্যবহৃত হয়।

উদাহরণ:

<target name="http-request">
    <http url="http://example.com" method="GET" />
</target>

এখানে:

  • url: অনুরোধ করার URL।
  • method: HTTP পদ্ধতি (যেমন GET, POST ইত্যাদি)।

11. fail Task: বিল্ড ব্যর্থ করা

fail টাস্কটি ব্যবহৃত হয় যদি কোনো নির্দিষ্ট শর্ত পূর্ণ না হয়, তখন বিল্ডটি ব্যর্থ করার জন্য।

উদাহরণ:

<target name="check-conditions">
    <fail message="Build failed: Condition not met!" />
</target>

সারমর্ম

Apache ANT বিভিন্ন common tasks প্রদান করে যা বিল্ড প্রসেসে ব্যবহৃত হয়, যেমন ফাইল কপি, ফাইল মুছে ফেলা, কম্পাইলিং, প্যাকেজিং, ফাইল স্থানান্তর, এবং আরও অনেক কিছু। এই টাস্কগুলো সহজেই build.xml ফাইলে ব্যবহৃত হয়, যা প্রকল্পের বিল্ড কার্যক্রম স্বয়ংক্রিয় করতে সাহায্য করে।

common.content_added_by

Built-in Tasks: copy, delete, mkdir, move

222
222

Apache ANT অনেক built-in task (কাজ) প্রদান করে, যা আপনাকে আপনার বিল্ড প্রক্রিয়ার মধ্যে বিভিন্ন কাজ পরিচালনা করতে সাহায্য করে। এখানে copy, delete, mkdir, এবং move task গুলোর ব্যবহার এবং তাদের কনফিগারেশন ব্যাখ্যা করা হয়েছে।


১. copy Task

copy task ব্যবহার করে ফাইল এবং ডিরেক্টরি কপি করা হয়।

ব্যবহার:

এই task এর মাধ্যমে আপনি একটি ফাইল বা ডিরেক্টরি একটি স্থানে অন্য স্থানে কপি করতে পারবেন।

সিনট্যাক্স:

<copy file="sourceFile" todir="destinationDir"/>

উদাহরণ:

<target name="copyFiles">
    <!-- ফাইল কপি করা -->
    <copy file="src/file1.txt" todir="build/"/>
    
    <!-- ডিরেক্টরি কপি করা -->
    <copy todir="build/">
        <fileset dir="src/resources"/>
    </copy>
</target>

বিস্তারিত:

  • file: কপি করার উৎস ফাইল।
  • todir: কপি করার লক্ষ্য ডিরেক্টরি।
  • fileset: উৎস ডিরেক্টরি থেকে একাধিক ফাইল কপি করতে ব্যবহৃত।

২. delete Task

delete task ব্যবহার করে ফাইল বা ডিরেক্টরি মুছে ফেলা হয়।

ব্যবহার:

ফাইল বা ডিরেক্টরি মুছে ফেলার জন্য এই task ব্যবহার করা হয়।

সিনট্যাক্স:

<delete file="fileToDelete"/>
<delete dir="dirToDelete"/>

উদাহরণ:

<target name="clean">
    <!-- একটি ফাইল মুছে ফেলা -->
    <delete file="build/output.txt"/>
    
    <!-- একটি ডিরেক্টরি মুছে ফেলা -->
    <delete dir="build"/>
</target>

বিস্তারিত:

  • file: মুছে ফেলার জন্য উৎস ফাইল।
  • dir: মুছে ফেলার জন্য উৎস ডিরেক্টরি।

৩. mkdir Task

mkdir task ব্যবহার করে নতুন ডিরেক্টরি তৈরি করা হয়।

ব্যবহার:

এই task এর মাধ্যমে নতুন ডিরেক্টরি তৈরি করা সম্ভব।

সিনট্যাক্স:

<mkdir dir="newDirectory"/>

উদাহরণ:

<target name="createDirs">
    <!-- নতুন ডিরেক্টরি তৈরি করা -->
    <mkdir dir="build/output"/>
</target>

বিস্তারিত:

  • dir: নতুন ডিরেক্টরি তৈরি করতে যেখানে তৈরি হবে সেই পাথ।

৪. move Task

move task ব্যবহার করে ফাইল বা ডিরেক্টরি স্থানান্তর করা হয়।

ব্যবহার:

এই task এর মাধ্যমে একটি ফাইল বা ডিরেক্টরি এক স্থান থেকে অন্য স্থানে সরানো হয়।

সিনট্যাক্স:

<move file="sourceFile" tofile="destinationFile"/>
<move todir="destinationDir">
    <fileset dir="sourceDir"/>
</move>

উদাহরণ:

<target name="moveFiles">
    <!-- একটি ফাইল স্থানান্তর করা -->
    <move file="src/file1.txt" tofile="build/file1.txt"/>
    
    <!-- ডিরেক্টরি স্থানান্তর করা -->
    <move todir="build/">
        <fileset dir="src/resources"/>
    </move>
</target>

বিস্তারিত:

  • file: স্থানান্তরিত ফাইলের উৎস।
  • tofile: নতুন অবস্থান (ফাইলের জন্য)।
  • todir: নতুন ডিরেক্টরি (ডিরেক্টরি বা ফাইল সেটের জন্য)।
  • fileset: একাধিক ফাইল স্থানান্তর করতে ব্যবহৃত।

সারমর্ম

এই tasks গুলি খুবই গুরুত্বপূর্ণ এবং সাধারণ কাজ সম্পাদনে ব্যবহৃত হয়:

  • copy: ফাইল বা ডিরেক্টরি কপি করতে।
  • delete: ফাইল বা ডিরেক্টরি মুছে ফেলতে।
  • mkdir: নতুন ডিরেক্টরি তৈরি করতে।
  • move: ফাইল বা ডিরেক্টরি স্থানান্তর করতে।

এই task গুলি ANT build script-এ ব্যবহৃত হয় এবং build automation কে আরও সহজ ও দ্রুত করে তোলে।

common.content_added_by

Fileset এবং Pathset

229
229

Apache ANT এর দুটি গুরুত্বপূর্ণ উপাদান হল Fileset এবং Pathset। এগুলি বিভিন্ন ফাইল বা ডিরেক্টরি সম্পর্কিত কার্যক্রম পরিচালনার জন্য ব্যবহৃত হয়, যেমন ফাইল সিলেকশন বা বিভিন্ন ডিরেক্টরি থেকে ফাইলের পথ সংরক্ষণ।


১. Fileset

Fileset ANT-এর একটি ট্যাগ যা ব্যবহারকারীদের ফাইল বা ফোল্ডারের একটি গ্রুপ (সেট) তৈরি করতে সাহায্য করে। এটি আপনাকে একটি নির্দিষ্ট প্যাটার্নের মাধ্যমে ফাইল নির্বাচন করতে দেয়। ফাইলগুলির উপর বিভিন্ন অপারেশন যেমন কপি, কম্পাইল, বা মুছতে সাহায্য করতে পারে।

Fileset ট্যাগের ব্যবহার:

  • fileset একটি প্যাটার্নের সাহায্যে নির্দিষ্ট ফাইল বা ফোল্ডার সিলেক্ট করতে ব্যবহৃত হয়।
  • এটি dir এবং includes/excludes অ্যাট্রিবিউট ব্যবহার করে ফাইল নির্বাচন করতে সাহায্য করে।

উদাহরণ:

<project name="Fileset Example" default="copyFiles">

    <target name="copyFiles">
        <!-- 'src' ডিরেক্টরি থেকে সমস্ত .java ফাইল কপি করুন -->
        <copy todir="build/classes">
            <fileset dir="src" includes="**/*.java"/>
        </copy>
    </target>

</project>

এই উদাহরণে, src ডিরেক্টরি থেকে সমস্ত .java ফাইল build/classes ডিরেক্টরিতে কপি করা হবে।

Fileset এর অন্যান্য গুরুত্বপূর্ণ অ্যাট্রিবিউট:

  • dir: উৎস ডিরেক্টরি নির্দেশ করে।
  • includes: কোন ফাইলগুলি অন্তর্ভুক্ত হবে তা নির্ধারণ করে।
  • excludes: কোন ফাইলগুলি বাদ দেওয়া হবে তা নির্ধারণ করে।
  • caseSensitive: প্যাটার্ন অনুসন্ধানের ক্ষেত্রে কেস সেনসিটিভ সেটিং নির্ধারণ করে।

২. Pathset

Pathset ANT এর একটি ট্যাগ যা বিভিন্ন ফাইলপথের একটি সেট তৈরি করতে ব্যবহৃত হয়। এটি মূলত একটি ফাইল পাথের তালিকা তৈরি করে, যা পরে অন্যান্য টাস্কের জন্য ব্যবহার করা যেতে পারে, যেমন ক্লাসপাথ, ইনপুট ফাইল পাথ ইত্যাদি।

Pathset ট্যাগের ব্যবহার:

  • pathset ব্যবহৃত হয় পাথের একটি সেট তৈরি করার জন্য এবং এটি path ট্যাগের সাথে কাজ করে।

উদাহরণ:

<project name="Pathset Example" default="setClasspath">

    <target name="setClasspath">
        <path id="my.classpath">
            <fileset dir="lib" includes="*.jar"/>
        </path>
    </target>

</project>

এই উদাহরণে, lib ডিরেক্টরি থেকে সমস্ত .jar ফাইল একটি পাথ হিসাবে সংরক্ষিত হবে। এরপর এই পাথটি ব্যবহার করা যাবে অন্য কোনো টাস্কে, যেমন ক্লাসপাথ হিসেবে ব্যবহার করা।

Pathset এর অন্যান্য গুরুত্বপূর্ণ অ্যাট্রিবিউট:

  • id: এটি পাথ সেটের জন্য একটি পরিচিতি তৈরি করে, যার মাধ্যমে এটি অন্য টাস্কে রেফার করা যেতে পারে।
  • refid: অন্য কোনো পাথ সেট বা প্রপার্টির সাথে রেফারেন্স করতে ব্যবহৃত হয়।

Fileset এবং Pathset-এর মধ্যে পার্থক্য:

বৈশিষ্ট্যFilesetPathset
প্রধান উদ্দেশ্যফাইল বা ফোল্ডার সিলেকশনফাইলপাথের সেট তৈরি
ব্যবহার ক্ষেত্রকপি, কম্পাইল, বা মুছতে ফাইলের গ্রুপক্লাসপাথ বা পাথের তালিকা তৈরি করা
প্রধান অ্যাট্রিবিউটdir, includes, excludesid, refid, fileset, path
উদাহরণফাইল কপি করাপাথের সেট তৈরি করা

উদাহরণ: Fileset এবং Pathset একসাথে ব্যবহার

<project name="Fileset and Pathset Example" default="compile">

    <target name="compile">
        <!-- Pathset তৈরি করুন যা JAR ফাইলের পাথ ধারণ করবে -->
        <path id="lib.path">
            <fileset dir="lib" includes="*.jar"/>
        </path>

        <!-- ক্লাসপাথে পাথ সেট যোগ করা -->
        <javac srcdir="src" destdir="build/classes" classpathref="lib.path"/>
    </target>

</project>

এখানে, প্রথমে fileset দিয়ে lib ডিরেক্টরি থেকে সমস্ত .jar ফাইল নির্বাচন করা হয়েছে এবং pathset এর মাধ্যমে তাদের ক্লাসপাথে রেফারেন্স করা হয়েছে। পরে, javac টাস্কের মাধ্যমে এই পাথ ব্যবহার করা হয়েছে।


সারমর্ম:

  • Fileset এবং Pathset দুটি গুরুত্বপূর্ণ টুল যা ANT এ ফাইল সিলেকশন এবং পাথ পরিচালনা করতে সাহায্য করে।
  • Fileset প্রধানত ফাইল নির্বাচন এবং ফাইল অপারেশনের জন্য ব্যবহৃত হয়, যেমন কপি করা।
  • Pathset ফাইলপথ বা পাথের তালিকা তৈরি এবং ক্লাসপাথে সেট করতে ব্যবহৃত হয়।
  • এগুলোর মাধ্যমে ANT এর বিল্ড প্রক্রিয়া আরও কার্যকর এবং পরিচালনাযোগ্য হয়।
common.content_added_by

Compile করা এবং Classpath সেটআপ

187
187

Apache ANT ব্যবহার করে Java প্রজেক্ট কম্পাইল এবং classpath সেটআপ করার প্রক্রিয়া খুবই সহজ। এখানে দুটি প্রধান কাজ করা হবে:

  1. Java কোড কম্পাইল করা (Compile)
  2. Classpath সেটআপ করা

১. Java কোড কম্পাইল করা (Compile)

ANT এর মাধ্যমে Java প্রজেক্ট কম্পাইল করতে সাধারণত javac টাস্ক ব্যবহার করা হয়। নিচে একটি উদাহরণ দেওয়া হলো।

Step 1: Build Script তৈরি করা (build.xml)

build.xml ফাইল ANT এর বিল্ড কনফিগারেশন ফাইল। এই ফাইলে javac টাস্ক ব্যবহার করে .java ফাইলগুলো কম্পাইল করা হয়।

উদাহরণ build.xml ফাইল:
<project name="MyProject" default="compile" basedir=".">

    <!-- Properties -->
    <property name="src.dir" value="src"/>
    <property name="build.dir" value="build"/>

    <!-- Initialize build directory -->
    <target name="init">
        <mkdir dir="${build.dir}"/>
    </target>

    <!-- Compile Java source files -->
    <target name="compile" depends="init">
        <javac srcdir="${src.dir}" destdir="${build.dir}">
            <classpath>
                <pathelement path="lib/some-library.jar"/>
            </classpath>
        </javac>
    </target>

    <!-- Clean build directory -->
    <target name="clean">
        <delete dir="${build.dir}"/>
    </target>

</project>
ব্যাখ্যা:
  1. <property>:
    এখানে দুটি প্রপার্টি সেট করা হয়েছে:
    • src.dir: আপনার সোর্স কোডের ডিরেক্টরি (যেমন src ডিরেক্টরি)।
    • build.dir: বিল্ড (কম্পাইল) আউটপুটের ডিরেক্টরি (যেমন build ডিরেক্টরি)।
  2. <target name="init">
    • এটি একটি টার্গেট যা বিল্ড ডিরেক্টরি তৈরি করে। যদি build ডিরেক্টরি না থাকে, এটি তৈরি করবে।
  3. <target name="compile">
    • এখানে javac টাস্ক ব্যবহার করা হয়েছে যা src ডিরেক্টরি থেকে .java ফাইলগুলো কম্পাইল করে এবং আউটপুট build ডিরেক্টরিতে রেখে দেয়।
    • classpath ট্যাগের মধ্যে নির্দিষ্ট করা হয়েছে যে lib/some-library.jar ফাইলটি কম্পাইলেশন সময় প্রয়োজন হলে তা যুক্ত করা হবে।
  4. <target name="clean">
    • এই টার্গেটটি build ডিরেক্টরি মুছে দেয়, যা প্রজেক্ট পরিষ্কার করার জন্য ব্যবহৃত হয়।

Step 2: ANT ব্যবহার করে কোড কম্পাইল করা

  1. build.xml ফাইল তৈরি করুন এবং আপনার প্রজেক্ট ডিরেক্টরিতে রাখুন।
  2. Command Prompt বা Terminal এ যান এবং প্রজেক্ট ডিরেক্টরিতে যান।
  3. নিচের কমান্ডটি চালান:

    ant compile
    

    এটি src ডিরেক্টরির .java ফাইলগুলো কম্পাইল করবে এবং build ডিরেক্টরিতে .class ফাইল তৈরি করবে।


২. Classpath সেটআপ করা

Classpath কী?

Classpath হল একটি পরিবেশ (environment) যা Java অ্যাপ্লিকেশন বা ক্লাস লোডারকে নির্ধারণ করতে সহায়ক যে কোথায় .class ফাইলগুলো খুঁজবে। যখন আপনি Java কোড কম্পাইল বা রান করেন, তখন classpath নির্ধারণ করা খুবই গুরুত্বপূর্ণ।

ANT-এ Classpath সেটআপ

  1. Classpath ডিরেক্টরি যুক্ত করা:
    ANT এ classpath সেটআপ করতে classpath ট্যাগ ব্যবহার করা হয়, যা javac টাস্কে নির্দিষ্ট করা হয়।
  2. Library JAR ফাইল ব্যবহার করা:
    আপনি যদি আপনার প্রজেক্টে বাইরের লাইব্রেরি (JAR ফাইল) ব্যবহার করতে চান, তাহলে classpath এ ওই JAR ফাইলটি যোগ করতে হবে।

উদাহরণ: JAR ফাইল Classpath-এ যোগ করা

<target name="compile" depends="init">
    <javac srcdir="${src.dir}" destdir="${build.dir}">
        <classpath>
            <pathelement path="lib/some-library.jar"/>
            <pathelement path="${build.dir}"/> <!-- Build output (for dependencies) -->
        </classpath>
    </javac>
</target>
ব্যাখ্যা:
  • pathelement ট্যাগ ব্যবহার করে আপনি JAR ফাইল বা ডিরেক্টরি path উল্লেখ করতে পারেন।
  • উপরের উদাহরণে some-library.jar লাইব্রেরি যোগ করা হয়েছে যা প্রজেক্ট কম্পাইল করার সময় ব্যবহৃত হবে।
  • আপনি যদি অনেক JAR ফাইল যুক্ত করতে চান, তবে প্রতিটি pathelement ট্যাগে JAR ফাইলের পাথ উল্লেখ করতে হবে।

উদাহরণ: সমস্ত JAR ফাইলের ডিরেক্টরি যোগ করা

<target name="compile" depends="init">
    <javac srcdir="${src.dir}" destdir="${build.dir}">
        <classpath>
            <fileset dir="lib">
                <include name="*.jar"/>
            </fileset>
        </classpath>
    </javac>
</target>

এখানে lib ডিরেক্টরির সমস্ত .jar ফাইল classpath-এ যোগ করা হয়েছে।


৩. অন্যান্য Classpath কনফিগারেশন

  • প্রজেক্টের ভিতরের ডিরেক্টরিতে classpath নির্ধারণ: যদি আপনি classpath কে প্রজেক্টের অন্য ফোল্ডারে রাখেন, তবে classpath সেট করতে fileset ব্যবহার করা যেতে পারে:

    <classpath>
        <fileset dir="lib" includes="*.jar"/>
    </classpath>
    
  • একাধিক লাইব্রেরি একসাথে classpath-এ যোগ করা: আপনি একাধিক লাইব্রেরি যোগ করতে পারবেন:

    <classpath>
        <pathelement path="lib/library1.jar"/>
        <pathelement path="lib/library2.jar"/>
    </classpath>
    

৪. কম্পাইল এবং ক্লাসপাথ যাচাই

এখন, আপনি যখন ant compile কমান্ড চালাবেন, ANT আপনার কোড কম্পাইল করবে এবং নির্দিষ্ট classpath অনুযায়ী লাইব্রেরি এবং ডিপেনডেন্সি লোড করবে।

  • যদি ক্লাসপাথ সঠিকভাবে সেট না করা হয়, তবে কম্পাইলেশন সময় ClassNotFoundException বা NoClassDefFoundError ত্রুটি দেখাতে পারে।

সারমর্ম

  • Compile: ANT ব্যবহার করে Java কোড কম্পাইল করার জন্য javac টাস্ক ব্যবহার করতে হয়। আপনি সোর্স কোড এবং আউটপুট ডিরেক্টরি নির্ধারণ করতে পারেন।
  • Classpath: ANT-এ classpath সেটআপ করার জন্য classpath ট্যাগ ব্যবহার করতে হয়, যা বাইরের লাইব্রেরি বা JAR ফাইল যোগ করার জন্য ব্যবহৃত হয়।
common.content_added_by

Zip, Unzip এবং JAR ফাইল তৈরি করা

281
281

Apache ANT ব্যবহার করে আপনি বিভিন্ন ধরনের ফাইল আর্কাইভ (যেমন ZIP এবং JAR) তৈরি এবং বের করতে পারেন। এই কাজগুলো করার জন্য ANT এর zip, unzip, এবং jar টাস্ক ব্যবহার করা হয়।


1. ZIP ফাইল তৈরি করা

ANT ব্যবহার করে ফাইল বা ডিরেক্টরি জিপ আর্কাইভ করতে zip টাস্ক ব্যবহার করা হয়।

Example: ZIP ফাইল তৈরি করার জন্য build.xml

<project name="ZipExample" default="zip" basedir=".">
    
    <!-- Source directory containing files to zip -->
    <property name="source.dir" value="src"/>

    <!-- Destination for the zip file -->
    <property name="zip.file" value="archive.zip"/>

    <!-- Target for zipping -->
    <target name="zip">
        <zip destfile="${zip.file}" basedir="${source.dir}"/>
    </target>
</project>

কী কী করা হচ্ছে:

  • source.dir: ZIP ফাইল তৈরি করার জন্য ফাইলগুলো যে ডিরেক্টরিতে থাকবে তা নির্ধারণ করা হচ্ছে।
  • zip.file: আউটপুট ZIP ফাইলের নাম ও অবস্থান।
  • zip: zip টাস্ক ব্যবহার করে নির্দিষ্ট source.dir থেকে ফাইলগুলো আর্কাইভ করা হচ্ছে।

কমান্ড:

ant zip

এই কমান্ডটি রান করলে archive.zip নামে একটি জিপ ফাইল তৈরি হবে, যেখানে src ডিরেক্টরির সব ফাইল থাকবে।


2. Unzip (ফাইল এক্সট্র্যাক্ট করা)

ANT ব্যবহার করে ZIP ফাইল এক্সট্র্যাক্ট করতে unzip টাস্ক ব্যবহার করা হয়।

Example: Unzip ফাইল এক্সট্র্যাক্ট করার জন্য build.xml

<project name="UnzipExample" default="unzip" basedir=".">

    <!-- Source ZIP file to unzip -->
    <property name="zip.file" value="archive.zip"/>
    
    <!-- Destination directory to unzip the file -->
    <property name="dest.dir" value="extracted"/>

    <!-- Target for unzipping -->
    <target name="unzip">
        <unzip src="${zip.file}" dest="${dest.dir}"/>
    </target>
</project>

কী কী করা হচ্ছে:

  • zip.file: যে ZIP ফাইলটি এক্সট্র্যাক্ট করতে হবে তা নির্ধারণ করা হচ্ছে।
  • dest.dir: ZIP ফাইলটি যেখানে এক্সট্র্যাক্ট হবে তার ডিরেক্টরি।
  • unzip: unzip টাস্ক ব্যবহার করে ZIP ফাইলটি নির্দিষ্ট dest.dir ডিরেক্টরিতে এক্সট্র্যাক্ট করা হচ্ছে।

কমান্ড:

ant unzip

এই কমান্ডটি রান করলে archive.zip ফাইলটি extracted ডিরেক্টরিতে এক্সট্র্যাক্ট হয়ে যাবে।


3. JAR ফাইল তৈরি করা

ANT ব্যবহার করে JAR ফাইল তৈরি করার জন্য jar টাস্ক ব্যবহার করা হয়। JAR ফাইল সাধারণত Java ক্লাস ফাইল এবং ম্যানিফেস্ট তথ্য ধারণ করে।

Example: JAR ফাইল তৈরি করার জন্য build.xml

<project name="JarExample" default="create-jar" basedir=".">

    <!-- Source directory containing .class files -->
    <property name="class.dir" value="build/classes"/>
    
    <!-- Destination directory for the JAR file -->
    <property name="jar.file" value="example.jar"/>

    <!-- Create a JAR file -->
    <target name="create-jar">
        <jar destfile="${jar.file}" basedir="${class.dir}" />
    </target>
</project>

কী কী করা হচ্ছে:

  • class.dir: JAR ফাইলের মধ্যে যেসব .class ফাইল থাকবে সেগুলির ডিরেক্টরি।
  • jar.file: আউটপুট JAR ফাইলের নাম ও অবস্থান।
  • jar: jar টাস্ক ব্যবহার করে নির্দিষ্ট class.dir থেকে .class ফাইলগুলো JAR ফাইল হিসেবে তৈরি করা হচ্ছে।

কমান্ড:

ant create-jar

এই কমান্ডটি রান করলে example.jar নামে একটি JAR ফাইল তৈরি হবে, যেখানে build/classes ডিরেক্টরির সব ক্লাস ফাইল থাকবে।


4. JAR ফাইলের ম্যানিফেস্ট ফাইল তৈরি করা

JAR ফাইলে ম্যানিফেস্ট ফাইল যোগ করা খুবই সাধারণ একটি কাজ। ম্যানিফেস্ট ফাইলটি JAR ফাইলের মেটাডেটা ধারণ করে, যেমন Main-Class

Example: JAR ফাইলে ম্যানিফেস্ট ফাইল যোগ করা

<project name="JarWithManifest" default="create-jar" basedir=".">
    
    <!-- Source directory containing .class files -->
    <property name="class.dir" value="build/classes"/>
    
    <!-- Destination directory for the JAR file -->
    <property name="jar.file" value="example-with-manifest.jar"/>
    
    <!-- Manifest file -->
    <property name="manifest.file" value="MANIFEST.MF"/>

    <!-- Create a JAR file with manifest -->
    <target name="create-jar">
        <jar destfile="${jar.file}" basedir="${class.dir}">
            <manifest>
                <attribute name="Main-Class" value="com.example.Main"/>
            </manifest>
        </jar>
    </target>
</project>

কী কী করা হচ্ছে:

  • manifest: ম্যানিফেস্ট ফাইলের মধ্যে Main-Class অ্যাট্রিবিউট সেট করা হচ্ছে, যা JAR ফাইল চালানোর জন্য প্রধান ক্লাস নির্দেশ করে।

কমান্ড:

ant create-jar

এটি একটি JAR ফাইল তৈরি করবে, যার মধ্যে Main-Class নির্দেশনা থাকবে।


সারমর্ম

  • ZIP ফাইল তৈরি করতে zip টাস্ক, Unzip করতে unzip টাস্ক, এবং JAR ফাইল তৈরি করতে jar টাস্ক ব্যবহার করতে হয়।
  • JAR ফাইলে ম্যানিফেস্ট ফাইল যোগ করার জন্য manifest ট্যাগ ব্যবহার করা হয়।
  • এই সমস্ত কাজগুলো সহজেই ANT এর build.xml ফাইলের মাধ্যমে স্বয়ংক্রিয়ভাবে করা যেতে পারে।

এখন আপনি Apache ANT ব্যবহার করে ZIP, Unzip এবং JAR ফাইল তৈরি করতে পারবেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion